home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / lotos.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  2.3 KB  |  67 lines

  1. " Vim syntax file
  2. " Language:    LOTOS (Language Of Temporal Ordering Specifications, IS8807)
  3. " Maintainer:    Daniel Amyot <damyot@csi.uottawa.ca>
  4. " Last change:    Wed Aug 19 1998
  5. " URL:          http://lotos.csi.uottawa.ca/~damyot/vim/lotos.vim
  6. " This file is an adaptation of pascal.vim by Mario Eusebio 
  7. " I'm not sure I understand all of the syntax highlight language,
  8. " but this file seems to do the job for standard LOTOS.
  9.  
  10. syn clear
  11.  
  12. syn case ignore
  13.  
  14. "Comments in LOTOS are between (* and *)
  15. syn region lotosComment    start="(\*"  end="\*)" contains=lotosTodo
  16.  
  17. "Operators [], [...], >>, ->, |||, |[...]|, ||, ;, !, ?, :, =, ,, :=
  18. syn match  lotosDelimiter       "[][]"
  19. syn match  lotosDelimiter    ">>"
  20. syn match  lotosDelimiter    "->"
  21. syn match  lotosDelimiter    "\[>"
  22. syn match  lotosDelimiter    "[|;!?:=,]"
  23.  
  24. "Regular keywords
  25. syn keyword lotosStatement    specification endspec process endproc
  26. syn keyword lotosStatement    where behaviour behavior
  27. syn keyword lotosStatement      any let par accept choice hide of in
  28. syn keyword lotosStatement    i stop exit noexit
  29.  
  30. "Operators from the Abstract Data Types in IS8807
  31. syn keyword lotosOperator    eq ne succ and or xor implies iff
  32. syn keyword lotosOperator    not true false
  33. syn keyword lotosOperator    Insert Remove IsIn NotIn Union Ints
  34. syn keyword lotosOperator    Minus Includes IsSubsetOf
  35. syn keyword lotosOperator    lt le ge gt 0
  36.  
  37. "Sorts in IS8807
  38. syn keyword lotosSort        Boolean Bool FBoolean FBool Element
  39. syn keyword lotosSort        Set String NaturalNumber Nat HexString
  40. syn keyword lotosSort        HexDigit DecString DecDigit
  41. syn keyword lotosSort        OctString OctDigit BitString Bit
  42. syn keyword lotosSort        Octet OctetString
  43.  
  44. "Keywords for ADTs
  45. syn keyword lotosType    type endtype library endlib sorts formalsorts
  46. syn keyword lotosType    eqns formaleqns opns formalopns forall ofsort is
  47. syn keyword lotosType   for renamedby actualizedby sortnames opnnames
  48. syn keyword lotosType   using
  49.  
  50. syn sync lines=250
  51.  
  52. if !exists("did_lotos_syntax_inits")
  53.   let did_lotos_syntax_inits = 1
  54.   " The default methods for highlighting.  Can be overridden later
  55.   hi link lotosStatement        Statement
  56.   hi link lotosProcess            Label
  57.   hi link lotosOperator            Operator
  58.   hi link lotosSort            Function
  59.   hi link lotosType            Type
  60.   hi link lotosComment            Comment
  61.   hi link lotosDelimiter                String
  62. endif
  63.  
  64. let b:current_syntax = "lotos"
  65.  
  66. " vim: ts=8
  67.